package com.ruoyi.information.util;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.information.domain.entity.ReportResponseEntity;

public class AIResponseUtil {
    
    /**
     * 清理并解析AI返回的JSON字符串
     * @param aiResponse AI返回的原始响应
     * @return 清理后的JSON字符串
     */
    public static ReportResponseEntity parseAIResponse(String aiResponse) {
        try {
            // 1. 提取JSON内容
            String jsonContent = extractJsonContent(aiResponse);
            
            // 2. 解析为对象
            return JSON.parseObject(jsonContent, ReportResponseEntity.class);
        } catch (Exception e) {
            throw new RuntimeException("解析AI响应失败: " + e.getMessage());
        }
    }
    
    /**
     * 从AI响应中提取JSON内容
     */
    private static String extractJsonContent(String aiResponse) {
        // 1. 移除可能包含的"```json"和"```"标记
        String content = aiResponse.replaceAll("```json\\s*", "")
                                 .replaceAll("```\\s*", "");
        
        // 2. 清理特殊字符
        content = content.replaceAll("[\\r\\n]", "")  // 移除换行符
                        .replaceAll("`", "")          // 移除反引号
                        .trim();                      // 移除首尾空白
        
        return content;
    }
} 